#include <stdio.h>
#include<unistd.h>

/**
 *如何使用X宏进行定义，全靠悟性
 * 
*/





#define LOG_LIST\
	X(LOG_ERR,  0x00, "log error")\
	X(LOG_INFO, 0x01, "log info")\
	X(LOG_RAWN, 0x02, "log rawn")\


#define X(a,b,c) a = b,

enum {
	LOG_LIST
};
#undef X


#define X(a,b,c) c,

const char*  log_str[] = {
	LOG_LIST
};
#undef X








int main(){
	int i = 0;
first:
	switch(i) {
		case 0:printf("%s\r\n",log_str[0]);break;
		case 1:printf("%s\r\n",log_str[1]);break;
		case 2:printf("%s\r\n",log_str[2]);break;
		default: break;
	}
	sleep(1);
	i++;
	i = (i == 3)? 0 : i;
	goto first;
	return 0;
}
	
